﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using Biblioteca.Utils;

namespace SERIX
{
    public partial class BenefOrganizacoesManut : Seguranca
    {
        string _operacao;
        string _idt_org_mestre;
        string _idt_benef;
        string _idt_org = "";
        string _filtro = "";

        private void lovSelecao(string chave, string descricao)
        {
            tbIDT_ORG.Text = descricao;
            tbIDT_ORG.Attributes.Add("chave", chave);
        }

        private void lovSelecaoBenef(string chave, string descricao)
        {
            tbIDT_BENEF.Text = descricao;
            tbIDT_BENEF.Attributes.Add("chave", chave);
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            base.OnLoad(e);

            lovOrganizacao.Selecao += new SERIX.Controles.lovGenerica.SelecaoDelegate(lovSelecao);
            lovOrganizacao.ConfigurarLov("Serix", "srx_organizacoes", "IDT_ORG", "NOM_ORG", "NOM_ORG", "Pesquisa de Organizações", "Nome");
            lovBeneficiarios1.Selecao += new SERIX.Controles.lovBeneficiarios.SelecaoDelegate(lovSelecaoBenef);
            
            _operacao = Request["OP"];
            if (!String.IsNullOrEmpty(Request["idt_org"]))
            {
                _idt_org = Server.UrlDecode(Criptografia.Descriptografar(Request["idt_org"]));
            }
            if (!String.IsNullOrEmpty(Request["idt_benef"]))
            {
                _idt_benef = Server.UrlDecode(Criptografia.Descriptografar(Request["idt_benef"]));
            }
            if (!String.IsNullOrEmpty(Request["idt_org_mestre"]))
            {
                _idt_org_mestre = Server.UrlDecode(Criptografia.Descriptografar(Request["idt_org_mestre"]));
                _filtro = "?idt_org=" + Server.UrlEncode(Request["idt_org_mestre"]);
                COrganizacoes org = COrganizacoes.PesquisaporCodigo(_idt_org_mestre, UsuAut.Login);
                tbIDT_ORG.Enabled = false;
                tbIDT_ORG.Text = org.Nom_org;
                tbIDT_ORG.Attributes.Add("chave", _idt_org_mestre);
                //((Button)lovOrganizacao.FindControl("btnLov")).Enabled = false;
            }
            if (!Page.IsPostBack)
            {
                switch (_operacao)
                {
                    case "I":
                        {
                            lblTitulo.Text = "Inserção de Beneficiário da Organização";
                            break;
                        }
                    case "D":
                        {
                            lblTitulo.Text = "Exclusão de Beneficiário da Organização";
                            CBenefOrganizacoes beneforganizacoes = CBenefOrganizacoes.PesquisaporCodigo(_idt_org, _idt_benef, UsuAut.Login);
                            CBeneficiarios beneficiario = CBeneficiarios.PesquisaporCodigo(_idt_benef, UsuAut.Login, false);
                            tbIDT_BENEF.Text = beneficiario.Nom_benef;
                            tbIDT_BENEF.Attributes.Add("chave", beneficiario.Idt_benef);
                            COrganizacoes organizacao = COrganizacoes.PesquisaporCodigo(_idt_org, UsuAut.Login);
                            tbIDT_ORG.Text = organizacao.Nom_org;
                            tbIDT_ORG.Attributes.Add("chave", organizacao.Idt_org);
                            DesabilitaControles();
                            break;
                        }
                    default: break;
                }
            }
        }

        protected void DesabilitaControles()
        {
            ((Button)lovOrganizacao.FindControl("btnLov")).Enabled = false;
            ((Button)lovBeneficiarios1.FindControl("btnLov")).Enabled = false;
            tbIDT_BENEF.Enabled = false;
            tbIDT_ORG.Enabled = false;
        }

        protected void Ok_Button_Click(object sender, EventArgs e)
        {
		    try
			{
				
				CBenefOrganizacoes beneforganizacoes;
                string _idt_org = tbIDT_ORG.Attributes["chave"];
                string _idt_benef = tbIDT_BENEF.Attributes["chave"];
				beneforganizacoes = new CBenefOrganizacoes(_idt_org, _idt_benef );
				switch (_operacao)
				{
					case "I":
						{
							beneforganizacoes.Inserir(UsuAut.Login);
							break;
						}
					case "U":
						{
							beneforganizacoes.Alterar(UsuAut.Login);
							break;
						}
					case "D":
						{
							beneforganizacoes.Excluir(UsuAut.Login);
							break;
						}
					default: break;
				}
				Response.Redirect("BenefOrganizacoes.aspx"+ _filtro);
			}
            catch (Exception ex)
            {
                lblErro.Text = "*Erro: " + ex.Message;
                lblErro.Visible = true;
            }
        }

        protected void Cancelar_Button_Click(object sender, EventArgs e)
        {
            Response.Redirect("BenefOrganizacoes.aspx" + _filtro);
        }
    }
}
